package com.newtouch.avmarketing.mgr.modules.avmarkrting.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.UpdateTimestamp;
import org.springframework.data.annotation.LastModifiedBy;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(schema = "avmarketing",name = "double_auditing")
public class DoubleAuditing implements Serializable {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @ApiModelProperty(value = "主键",example = "1")
    @Column(name="id")
    private Long id;

    @ApiModelProperty(value = "分公司代码")
    @Column(name="unit_code")
    private String unitCode;

    @ApiModelProperty(value = "分公司名称")
    @Column(name="unit_name")
    private String unitName;

    @ApiModelProperty(value = "中支机构代码")
    @Column(name="branch_code")
    private String branchCode;

    @ApiModelProperty(value = "中支机构名称")
    @Column(name="branch_name")
    private String branchName;

    @ApiModelProperty(value = "四级机构代码")
    @Column(name="four_branchcode")
    private String fourBranchCode;

    @ApiModelProperty(value = "四级机构名称")
    @Column(name="four_branchname")
    private String fourBranchName;

    @ApiModelProperty(value = "销售渠道代码")
    @Column(name="sales_code")
    private String salesCode;

    @ApiModelProperty(value = "销售渠道名称")
    @Column(name="sales_name")
    private String salesName;

    @ApiModelProperty(value = "产品代码")
    @Column(name="product_code")
    private String productCode;

    @ApiModelProperty(value = "产品名称")
    @Column(name="product_name")
    private String productName;

    @ApiModelProperty(value = "投保单号")
    @Column(name="policy_code")
    private String policyCode;

    @ApiModelProperty(value = "投保人姓名")
    @Column(name="policy_name")
    private String policyName;

    @ApiModelProperty(value = "投保人年龄")
    @Column(name="policy_age")
    private String policyAge;

    @ApiModelProperty(value = "联系方式")
    @Column(name="phone_number")
    private String phoneNumber;

    @ApiModelProperty(value = "营销员工号")
    @Column(name="market_emp")
    private String marketEmp;

    @ApiModelProperty(value = "营销员工姓名")
    @Column(name="market_name")
    private String marketName;

    @ApiModelProperty(value = "审核员工号")
    @Column(name="check_emp")
    private String checkEmp;

    @ApiModelProperty(value = "审核员工姓名")
    @Column(name="check_name")
    private String checkName;

    //1:生效 0:未生效
    @ApiModelProperty(value = "是否生效  1:生效 0:未生效")
    @Column(name="is_valid")
    private String isValid;

    @ApiModelProperty(value = "投保日期")
    @Column(name="insure_time")
    private String insureTime;

    //1:已审核 0:未审核 2:审核不通过
    @ApiModelProperty(value = "审核状态 1:已审核 0:未审核 2:审核不通过")
    @Column(name="check_status")
    private String checkStatus;

    @ApiModelProperty(value = "视频地址")
    @Column(name="video_path")
    private String videoPath;

    @ApiModelProperty(value = "视频总时长")
    @Column(name="video_time")
    private String videoTime;

    @ApiModelProperty(value = "视频大小")
    @Column(name="video_size")
    private String videoSize;

//    @CreationTimestamp
    @ApiModelProperty(value = "上传结束时间")
    @Column(name="upload_time")
    private String uploadTime;

    @ApiModelProperty(value = "录像完成时间")
    @Column(name="end_time")
    private String endTime;

    @LastModifiedBy
    @Column(name = "update_by")
    @ApiModelProperty(value = "更新人", hidden = true)
    private String updatedBy;

    @UpdateTimestamp
    @Column(name = "update_time")
    @ApiModelProperty(value = "更新时间", hidden = true)
    private Timestamp updateTime;
}
